A microcontroller is a semiconductor integrated circuit which is incorporated into apparatuses such as home electric appliances, AV apparatuses, mobile phones, automobiles, and industrial machinery, and executes data processes according to programs stored in a memory, thereby controlling the various apparatuses.
Particularly, in an automobile field, since failures of a control device may cause accidents, components including the microcontroller are required to have high reliability, and are thus designed to operate a safety function so as not to expose an automobile to a dangerous state by detecting failures when the failures occur. Further, the in-vehicle microcontroller is required to diagnose various sensors or actuators mounted in an automobile so as to not only detect failures thereof but also detect failures of the in-vehicle microcontroller.
There are a variety of methods for detecting failures of the microcontroller, and a method is used in which two CPUs are used and execute the same process, and values of buses are compared with each other.
The following NPL 1 discloses that a master module and a checker module for use in comparison execute the same process together, and respective process results are compared by a comparison circuit, thereby detecting errors.
The following PTL 1 discloses that two CPUs, two memories, and a bus comparator are used, and output signals of both CPUs are compared by the bus comparator.
In addition, the following PTL 2 discloses that three CPUs, three memories, three FIFOs, and three comparison circuits are used, and output signals of the three CPUs are supplied to inputs of the three comparison circuits via the three FIFOs such that the three comparison circuits compare the output signals of the three CPUs with each other.
Further, the following PTL 3 discloses that a plurality of output signals of a plurality of CPUs are compressed with each other by a plurality of compressors and a plurality of compression results of the plurality of compressors are compared with each other by a comparator, and discloses that a plurality of output signals of the plurality of CPUs are supplied to a plurality of inputs of the comparator via a plurality of FIFOs such that the output signals of the plurality of CPUs are compared with each other by the comparator.